#ifndef LABEL_WIDGET_H
#define LABEL_WIDGET_H

#include <string>

#include "Widget.h"
#include "../Font/Font.h"
#include "../../math/Point2D.h"

class LabelWidget : public Widget
{
    public:
        
        LabelWidget(const std::string& text, const Point2D& position, const Color& text_color);
        
        ~LabelWidget();
        
        void Render(SDL_Surface* surface);
        
        const Point2D& GetPosition() const;
        
        const Point2D& GetSize() const;
        
    private:
        
        SDL_Rect _offset;
        
        Point2D _position;
        
        Point2D _size;
        
        SDL_Surface* _rendered_text;
};

#endif
